Балансировка нагрузки NGINX (пример конфигурации)

Advertisements

Балансировка нагрузки используется для повышения стабильности сервера за счет “облака” мини серверов.
В NGINX такая группа объединяется в один “облачный сервер” с помощью конструкции upstream с ключевым названием, в данном случае это backend.

Встречая данное слово в конфиге nginx будет пробовать использовать upstream сервера этой группы.

Чтобы посетители в случае каких-то операций оставались на одном сервере используется хеширование ip адреса — ip_hash.

Для автоматического отключения перегруженного или не работающего сервера используется конструкция max_fails=3 fail_timeout=120 означающая, что после 3 ошибок не обращаться к серверу 120 секунд.

Использовании группы серверов приведено на примере проксирования, так же через proxy_set_header, передаем данные о хосте (Host), реальном ip пользователя (X-Real-IP) и оригинальный заголовок HTTP (X-Forwarded-For)

Пример конфигурации NGINX с балансировкой нагрузки и проксированием: